package com.fary.lifecycle;

import org.springframework.context.SmartLifecycle;
import org.springframework.stereotype.Component;

@Component
public class MyLifeCycleBean1 implements SmartLifecycle {

	private volatile boolean running = false;

	/**
	 * 如果类A没运行，则走该方法，如果类A已经运行，则不会走该方法
	 */
	@Override
	public void start() {
		System.out.println("start1");
		running = true;
	}

	/**
	 * 返回true表示类A已经运行，返回false表示类A没运行
	 */
	@Override
	public boolean isRunning() {
		System.out.println("isRunning1");
		return running;
	}

	/**
	 * 如果类A正在运行，则走该方法，如果类A已经停止，则不走该方法
	 */
	@Override
	public void stop() {
		System.out.println("stop1");
		this.running = false;
	}
}
